package com.caioweb.osa.validation;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import javax.inject.Inject;

import org.jboss.seam.faces.validation.InputField;

import com.caioweb.osa.dao.BranchDAO;
import com.caioweb.osa.dao.ClienteDAO;
import com.caioweb.osa.modelo.Cliente;
@FacesValidator(value = "validaBranch")
public class ValidaBranch implements Validator , Serializable{
	@Inject @InputField
	private String nome;
	@Inject @InputField
	private String url;
	@Inject
	private BranchDAO dao;

	@Override
	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
			throws ValidatorException {
        if(nome.indexOf(" ") >= 0){
				throw new ValidatorException(new FacesMessage("O nome do branch não pode ter espaços em branco"));
			
		}if(url.indexOf(" ") >= 0){
				throw new ValidatorException(new FacesMessage("a url não pode ter espaços em Branco.."));
		}else if(!url.endsWith("/")){
			throw new ValidatorException(new FacesMessage("a url deve terminar com \"/\" .."));
		}
	
		if(!dao.existeBranch(nome).isEmpty()){
			throw new ValidatorException(new FacesMessage("Já existe branch com o mesmo nome"));
		}
		if(dao.existeUrl(url)){
			throw new ValidatorException(new FacesMessage("Já existe uma url com mesmo caminho"));
		}
	}
	
	
	

}
